#include <stdio.h>
#include <stdlib.h>
#include "mylib.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#ifndef SIZE
#define SIZE 1 /*dimensione per il buffer di lettura/scrittura*/
#endif

int main(int argc, char *args[]){
    int source, destination;
    char buf[SIZE];
    if (argc != 3) {
		fprintf(stderr,"usage:.\n");
		exit(1);
	}
    source = open(args[1], O_RDONLY, 777);
    destination = open(args[2], O_WRONLY | O_CREAT, S_IRWXU);
    
    if(source == -1){
	    syserr(args[0], "Apertura del file");
	}
	if(destination == -1){
	    syserr(args[0], "Scrittura del file");
	}
	lseek(source, 0, SEEK_END); /* posiziono il puntantore del byte all'ultimo */
	
	do{
	    read(source, buf, 1);
	    write(destination, buf, 1);
	    lseek(source, -1, SEEK_CUR);
	}while(lseek(source, -1, SEEK_CUR));
		
    close(source);
    close(destination);
    
}
